<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" Explicit = "true" %>
<html>



<head>
    <link href="style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<% 
    // Déclaration des variables        
     String sRefer;
     String sLogiciel;
     String sVersion;
        
     // Déclaration de l'object connexion à la base 
     System.Data.Odbc.OdbcConnection m_Connexion; 
     // Déclaration de l'object de commande permettant d'executer des requetes
     System.Data.Odbc.OdbcCommand Commande;
     // Déclaration du résultat de la requete
     System.Data.Odbc.OdbcDataReader MaRequete;  
     // Récupération de la valeur du logiciel, de la version et de la référence concernées
           
     sRefer    = Request.QueryString["Reference"];
     sLogiciel = Request.QueryString["Logiciel"];
     sVersion  = Request.QueryString["Version"];
   
     // Connexion à la base WebHelp 
        
     // Création de l'objet de connexion
     m_Connexion = new System.Data.Odbc.OdbcConnection();
       
     // Ecriture de la chaîne de connexion
     String sConnectionString;
     sConnectionString = "driver={MySQL ODBC 3.51 Driver};Server=192.168.80.184;Port=3306;Database=webhelp;User=Buggs;Option=3;";
     m_Connexion.ConnectionString = sConnectionString;

     // Ouverture de la connexion
     m_Connexion.Open();
        
      
     // Executer la requete SQL sur la table refer 

     String Sql =   "select  C.ref_sous_nom," +                           //0
                            "C.ref_adresse " +                            //1
                    " from logiciels A" +
                            " left outer join versions B" +
                                " on (B.log_code = A.log_code)" +
                            " left outer join refer C" +
                                " on (C.ver_code = B.ver_code)" +
                    "where (A.log_nom = \""+sLogiciel+"\")" +
                        " and (B.ver_nom = \""+sVersion+"\")" +
                        " and (C.ref_nom = \""+sRefer+"\")"+
                        " and (C.ref_adresse is not null)";
     Commande = new System.Data.Odbc.OdbcCommand(Sql, m_Connexion);
     Commande.Connection = m_Connexion;
     
     MaRequete = Commande.ExecuteReader();
   
     // Affichage du site en fonction du nombre de désignation 
     // Si il y a 1 désignation on redirige directement l'utilisateur vers la page demandé 
     // Sinon on lui affiche les différentes désignations associées a la référence 
      MaRequete.Read();
      int NbreDesignation = MaRequete.RecordsAffected;
       
      if (NbreDesignation > 1 ) {%>
            <div id="text" align=center>
            <br /><br />
            <table>
            <tr>
                <%  
                    Response.Write("<p align=center>Plusieurs aides correspondent à votre s&eacute;lection.</br>Cliquez sur l'aide que vous d&eacute;sirez consulter.</p>");
                %>
            </tr>             
            <tr>
                <td align=left>
                <%  
                    Response.Write("<ul>");
                    do {
                        // Traitement de la requete
                        Response.Write("<li><a href= " + (string)MaRequete.GetValue(1) + " /> " + (string)MaRequete.GetValue(0) + "</a></li>");
                    }while( MaRequete.Read() );
           
                    Response.Write("</ul>");
                %>  
                </td>
            </tr>
            </table>
            </div>
           <%
      }else {
        if( NbreDesignation == 1 ) {
            if( MaRequete.GetValue(1) != null ) {
                Response.Redirect ((string)MaRequete.GetValue(1));
            }
        }else {
            Response.Write("<center> L'aide que vous voulez consulter est en cours de mise à jour <center/>");
        }
      }
    
      MaRequete.Close();
      Commande = null; 
   
      // Fermeture de la connexion
      m_Connexion.Close();
      m_Connexion = null;
        %>  
</body>
</html>
